package validators

import (
	"github.com/go-playground/validator/v10"
	"regexp"
)

// RegDate 年月日的正则 2020-12-12
const RegDate = "(((\\d{4})-(0[13578]|1[02])-(0[1-9]|[12]\\d|3[01]))|((\\d{4})-(0[469]|11)-(0[1-9]|[12]\\d|30))|((\\d{4})-(02)-(0[1-9]|1\\d|2[0-8]))|((\\d{2}(0[48]|[2468][048]|[13579][26]))-(02)-(29))|(((0[48]|[2468][048]|[13579][26])00)-(02)-(29)))"

// ValidateDate 定义验证时间格式
func ValidateDate(fl validator.FieldLevel) bool {
	date := fl.Field().String()
	//使用正则表达式判断是否合法
	ok, _ := regexp.MatchString(RegDate, date)
	if !ok {
		return false
	}
	return true
}
